/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package Entidade;

import java.io.Serializable;
import java.util.Date;
import javax.persistence.Basic;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 *
 * @author linton
 */
@Entity
@Table(name = "cartão")
@NamedQueries({@NamedQuery(name = "Cartão.findAll", query = "SELECT c FROM Cartão c"), @NamedQuery(name = "Cartão.findByIdCartão", query = "SELECT c FROM Cartão c WHERE c.idCartão = :idCartão"), @NamedQuery(name = "Cartão.findByBanco", query = "SELECT c FROM Cartão c WHERE c.banco = :banco"), @NamedQuery(name = "Cartão.findByDataEmi", query = "SELECT c FROM Cartão c WHERE c.dataEmi = :dataEmi"), @NamedQuery(name = "Cartão.findByDataFatura", query = "SELECT c FROM Cartão c WHERE c.dataFatura = :dataFatura"), @NamedQuery(name = "Cartão.findByNomeCartao", query = "SELECT c FROM Cartão c WHERE c.nomeCartao = :nomeCartao"), @NamedQuery(name = "Cartão.findByPosicao", query = "SELECT c FROM Cartão c WHERE c.posicao = :posicao"), @NamedQuery(name = "Cartão.findByRecebimentoClienteParcelaCompraCompraClienteidCompraCliente", query = "SELECT c FROM Cartão c WHERE c.recebimentoClienteParcelaCompraCompraClienteidCompraCliente = :recebimentoClienteParcelaCompraCompraClienteidCompraCliente"), @NamedQuery(name = "Cartão.findByRecebimentoClienteParcelaCompraidParcelaCompra", query = "SELECT c FROM Cartão c WHERE c.recebimentoClienteParcelaCompraidParcelaCompra = :recebimentoClienteParcelaCompraidParcelaCompra"), @NamedQuery(name = "Cartão.findByRecebimentoClienteidRecebimentoCliente", query = "SELECT c FROM Cartão c WHERE c.recebimentoClienteidRecebimentoCliente = :recebimentoClienteidRecebimentoCliente"), @NamedQuery(name = "Cartão.findByValor", query = "SELECT c FROM Cartão c WHERE c.valor = :valor")})
public class Cartão implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Basic(optional = false)
    @Column(name = "idCartão")
    private Integer idCartão;
    @Column(name = "Banco")
    private String banco;
    @Column(name = "DataEmi")
    @Temporal(TemporalType.DATE)
    private Date dataEmi;
    @Column(name = "DataFatura")
    @Temporal(TemporalType.DATE)
    private Date dataFatura;
    @Column(name = "NomeCartao")
    private String nomeCartao;
    @Column(name = "Posicao")
    private String posicao;
    @Basic(optional = false)
    @Column(name = "RecebimentoCliente_ParcelaCompra_CompraCliente_idCompraCliente")
    private int recebimentoClienteParcelaCompraCompraClienteidCompraCliente;
    @Basic(optional = false)
    @Column(name = "RecebimentoCliente_ParcelaCompra_idParcelaCompra")
    private int recebimentoClienteParcelaCompraidParcelaCompra;
    @Basic(optional = false)
    @Column(name = "RecebimentoCliente_idRecebimentoCliente")
    private int recebimentoClienteidRecebimentoCliente;
    @Column(name = "Valor")
    private Integer valor;

    public Cartão() {
    }

    public Cartão(Integer idCartão) {
        this.idCartão = idCartão;
    }

    public Cartão(Integer idCartão, int recebimentoClienteParcelaCompraCompraClienteidCompraCliente, int recebimentoClienteParcelaCompraidParcelaCompra, int recebimentoClienteidRecebimentoCliente) {
        this.idCartão = idCartão;
        this.recebimentoClienteParcelaCompraCompraClienteidCompraCliente = recebimentoClienteParcelaCompraCompraClienteidCompraCliente;
        this.recebimentoClienteParcelaCompraidParcelaCompra = recebimentoClienteParcelaCompraidParcelaCompra;
        this.recebimentoClienteidRecebimentoCliente = recebimentoClienteidRecebimentoCliente;
    }

    public Integer getIdCartão() {
        return idCartão;
    }

    public void setIdCartão(Integer idCartão) {
        this.idCartão = idCartão;
    }

    public String getBanco() {
        return banco;
    }

    public void setBanco(String banco) {
        this.banco = banco;
    }

    public Date getDataEmi() {
        return dataEmi;
    }

    public void setDataEmi(Date dataEmi) {
        this.dataEmi = dataEmi;
    }

    public Date getDataFatura() {
        return dataFatura;
    }

    public void setDataFatura(Date dataFatura) {
        this.dataFatura = dataFatura;
    }

    public String getNomeCartao() {
        return nomeCartao;
    }

    public void setNomeCartao(String nomeCartao) {
        this.nomeCartao = nomeCartao;
    }

    public String getPosicao() {
        return posicao;
    }

    public void setPosicao(String posicao) {
        this.posicao = posicao;
    }

    public int getRecebimentoClienteParcelaCompraCompraClienteidCompraCliente() {
        return recebimentoClienteParcelaCompraCompraClienteidCompraCliente;
    }

    public void setRecebimentoClienteParcelaCompraCompraClienteidCompraCliente(int recebimentoClienteParcelaCompraCompraClienteidCompraCliente) {
        this.recebimentoClienteParcelaCompraCompraClienteidCompraCliente = recebimentoClienteParcelaCompraCompraClienteidCompraCliente;
    }

    public int getRecebimentoClienteParcelaCompraidParcelaCompra() {
        return recebimentoClienteParcelaCompraidParcelaCompra;
    }

    public void setRecebimentoClienteParcelaCompraidParcelaCompra(int recebimentoClienteParcelaCompraidParcelaCompra) {
        this.recebimentoClienteParcelaCompraidParcelaCompra = recebimentoClienteParcelaCompraidParcelaCompra;
    }

    public int getRecebimentoClienteidRecebimentoCliente() {
        return recebimentoClienteidRecebimentoCliente;
    }

    public void setRecebimentoClienteidRecebimentoCliente(int recebimentoClienteidRecebimentoCliente) {
        this.recebimentoClienteidRecebimentoCliente = recebimentoClienteidRecebimentoCliente;
    }

    public Integer getValor() {
        return valor;
    }

    public void setValor(Integer valor) {
        this.valor = valor;
    }

    @Override
    public int hashCode() {
        int hash = 0;
        hash += (idCartão != null ? idCartão.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object object) {
        // TODO: Warning - this method won't work in the case the id fields are not set
        if (!(object instanceof Cartão)) {
            return false;
        }
        Cartão other = (Cartão) object;
        if ((this.idCartão == null && other.idCartão != null) || (this.idCartão != null && !this.idCartão.equals(other.idCartão))) {
            return false;
        }
        return true;
    }

    @Override
    public String toString() {
        return "Entidade.Cartão[idCartão=" + idCartão + "]";
    }

}
